
package com.insigma.business.qrcode.soldier._bff;




import com.insigma.business.qrcode.common.annotation.ApiServiceType;
import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.PlacementThroughTrainApplyInfoDTO;
import com.insigma.business.qrcode.soldier.dto.PlacementThroughTrainApplyInfoSearchRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.soldier.request.PlacementThroughTrainApplyInfoInsertRequest;
import com.insigma.business.qrcode.soldier.request.PlacementThroughTrainApplyInfoUpdateRequest;

import java.util.List;


public interface PlacementThroughTrainApplyInfoBFFProvider {

    
    @ApiServiceType(value = "gov.ss.placement.through.train.search", name = "审核直通车", desc = "审核直通车")
    BasePagingResponse<List<PlacementThroughTrainApplyInfoDTO>> searchPlacementThroughTrainApplyInfo(final PlacementThroughTrainApplyInfoSearchRequest placementThroughTrainApplyInfoSearchRequest);

    
    @ApiServiceType(value = "gov.ss.placement.through.train.view", name = "得到合法的非逻辑删除对象", desc = "得到合法的非逻辑删除对象")
    BaseResponse<PlacementThroughTrainApplyInfoDTO> getPlacementThroughTrainApplyInfo(final BaseGetRequest baseGetRequest);

    
    @ApiServiceType(value = "soldier.ss.placement.through.train.apply", name = "申请直通车", desc = "申请直通车", opsLog = "安置")
    BaseResponse<String> insertPlacementThroughTrainApplyInfo(final PlacementThroughTrainApplyInfoInsertRequest placementThroughTrainApplyInfoInsertRequest);

    
    @ApiServiceType(value = "soldier.ss.placement.through.train.apply.my", name = "查看我的直通车申请", desc = "查看我的直通车申请")
    BaseResponse<PlacementThroughTrainApplyInfoDTO> getMyApplyInfo();

    
    @ApiServiceType(value = "gov.ss.placement.through.train.check", name = "审核直通车", desc = "审核直通车", opsLog = "安置")
    BaseResponse<Integer> checkPlacementThroughTrainApplyInfo(final PlacementThroughTrainApplyInfoUpdateRequest placementThroughTrainApplyInfoUpdateRequest);

    
    BaseResponse<Integer> updatePlacementThroughTrainApplyInfo(final PlacementThroughTrainApplyInfoUpdateRequest placementThroughTrainApplyInfoUpdateRequest);

    
    BaseResponse<Integer> deletePlacementThroughTrainApplyInfo(final BaseDeleteRequest deleteRequest);

}
